<?php

class NetUtil{
    public static function GetClientIp(){
    	foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
    		
    		if(!empty($$_request)){
    		   	foreach($$_request as $_key => $_value) {
    		   	  $_key{0} != '_' && $$_key = daddslashes($_value);
    		    }
    		}
    	}
    	
    	if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
    	   	$onlineip = getenv('HTTP_CLIENT_IP');
    	} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
    	   	$onlineip = getenv('HTTP_X_FORWARDED_FOR');
    	} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
    	   	$onlineip = getenv('REMOTE_ADDR');
    	} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
    	   	$onlineip = $_SERVER['REMOTE_ADDR'];
    	}
    	
    	preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
    	$onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : '127.0.0.1';
    	unset($onlineipmatches);
    	return $onlineip;
    }
}